package cn.tedu.boot03.mapper;

import cn.tedu.boot03.entity.Product;
import org.apache.ibatis.annotations.*;

import java.util.List;

//  Mapper = 映射器, MyBatis框架去需要通过映射器得到实体类和表格的对应关系
//  然后生成对应的JDBC代码
@Mapper
public interface ProductMapper {

    //#{} 从参数列表中找到同名变量, 如果没有，则找到对象的同名getXXX方法
    @Insert("INSERT INTO product VALUES(NULL,#{title},#{price},#{num})")
    int insert(Product product);

    // 查询到的数据会自动封装到Product对象中(因为属性名和字段名是一致的)
    @Select("SELECT * FROM product")
    List<Product> select();

    @Update("UPDATE product SET title=#{title},price=#{price},num=#{num} WHERE id=#{id}")
    int update(Product product);

    @Delete("DELETE FROM product WHERE id=#{id}")
    int deleteById(int id);
}
